package com.cci.kangdao.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.mybatis.spring.annotation.MapperScan;

import com.cci.kangdao.dao.model.CircuitDiagramT;
import com.cci.kangdao.dao.model.FaultCodeT;
import com.cci.kangdao.dao.model.HandbookDetailT;
import com.cci.kangdao.dao.model.HandbookT;
import com.cci.kangdao.dao.model.SMNT;
import com.cci.kangdao.dao.model.ServiceBookDirT;

/**
 * 服务手册相关信息
 * 
 * @author fengshuai
 *
 */
@MapperScan
public interface ServiceInformationDao {
	/**
	 * 康明斯，游客查看所有的smn
	 */
	public List<SMNT> getAllSMN(Map<String, Object> map);

	/**
	 * 查看smn下的type
	 */
	public List<HandbookT> getAllBookHandDatas(Map<String, Object> map);

	/**
	 * 康明斯下看看全部水电图
	 */
	public List<CircuitDiagramT> getAllCircuitDiagramDatas(Map<String, Object> map);

	/**
	 * App用户获取服务手册目录接口
	 * 
	 * @param map
	 * @return
	 */
	public List<ServiceBookDirT> getHandbookDir(Map<String, Object> map);
	
	/**
	 * 根据id获取服务手册信息
	 * @param id
	 * @return
	 */
	public HandbookT getHandbookById(long id);

	/**
	 * App用户获取服务手册详细接口
	 */
	public List<HandbookDetailT> getHandbookDetail(Map<String, Object> map);

//	/**
//	 * 查询电路图是否有水印
//	 * 
//	 * @param map
//	 */
//	public CircuitDiagramT getCircuitDiagramIsLogo(Map<String, Object> map);

	/**
	 * App用户搜索服务信息接口 查看康明斯，游客，JV，dealer smn
	 */
	public List<SMNT> getSearchAllSMN(Map<String, Object> map);

	/**
	 * 搜索所有电路图
	 */
	public List<CircuitDiagramT> getSearchAllCircuitDiagram(Map<String, Object> map);

	/**
	 * App用户上传手册阅读次数接口
	 */
	public int uploadHandTolNum(Map<String,Object> map);

	/**
	 * 更新技术公告阅读次数
	 */
	@Update("update TechServiceBook_T set TolNum = TolNum+1 where ID = #{techServiceBookId}")
	public int updateTechServiceBookNum(@Param("techServiceBookId") long techServiceBookId);

	/**
	 * 搜索代码故障接口
	 */
	public List<SMNT> getFaultCodeSMN(Map<String,Object> map);
	
	/**
	 * 搜索获取症状树
	 */
	public List<SMNT> getFaultCodeTree(Map<String,Object> map);
	/**
	 * 查询故障的颜色  描述
	 * @param map
	 */
	public List<FaultCodeT> getSearchFaultColorAndDescribe(Map<String, Object> map);
	/**
	 * 服务首頁的smn
	 * @param map
	 * @return
	 */
	public List<SMNT> getServiceHomeAllSMN(Map<String, Object> map);
	/**
	 * 服务首页最新资料信息 
	 * @param map
	 * @return
	 */
	public List<SMNT> getServiceHomeAllSMNByTolnum(Map<String, Object> map);
	/**
	 * 根据spn  fmi去查询FaultCode
	 * @param map
	 */
	public List<FaultCodeT> getFaultCode(Map<String, Object> map);
	/**
	 * 查询出目录中的ID
	 */
	public List<ServiceBookDirT> getServiceBookDir_TDatas();
}
